﻿create database ACCOMPRO
go
use ACCOMPRO
go



Create table Users
(
	UserId int identity(1,1) not null,
	Username varchar(15) not null,
	Pass varchar(15),
	Email varchar(50),
	Fullname nvarchar(50),
	Gender bit,
	Birthday datetime,
	Membertype nvarchar(15),
	PhoneNo varchar (12),
	Address nvarchar(100),
	RandomQuestion nvarchar(50),
	Answer nvarchar(50),
	
	constraint PK_User primary key (UserId),
	constraint chk_Gender check(Gender in(0,1)),
	constraint unique_username unique(username)
)
go


create table Post
(
	PostID int identity(1,1) not null,
	Author varchar (15),
	Title nvarchar (100),
	ShortDescript nvarchar (200),
	Descript nvarchar(1000),	
	ImageSource varchar (100),
	PostDate datetime,
	LastUpdate datetime,
	PostStatus nvarchar(15),
	Viewed int,
					
	constraint PK_Post primary key(PostID),	
	constraint chk_Status Check(PostStatus in (N'Nháp',N'Xuất bản',N'Xóa')) 			
)

--ALTER TABLE Post DROP CONSTRAINT PK_Post
--alter table Post Drop COLUMN  Email
--alter table Post Drop COLUMN  PostID
--alter table Post	ADD PostID varchar(100) not null
--alter table Post	Add constraint PK_Post primary key(PostID)
--alter table Post ALTER COLUMN Owner varchar (15) not null
	
	


go

create table City
(
	IdCity int IDENTITY(1,1)  not null,
	Name nvarchar(50),
	constraint PK_City primary key(IdCity)	
	
)


go

create table District
(
	IdDistrict int IDENTITY(1,1) not null,
	IdCity int not null,
	Name nvarchar(50),
	
	constraint PK_District primary key(IdDistrict)
)

go
create table Category
(
	IdCategory int IDENTITY(1,1) not null,
	Name nvarchar(50),
	
	
	constraint PK_Category primary key(IdCategory)
)

go
create table BoardingHouse
(
	Owner int not null,
	IdHouse int identity(1,1) not null,
	Street nvarchar(100),
	Ward nvarchar(50),
	District int,
	City int,
	Category int,
	NoOfRooms int,
	RoomAvailable int,
	ImageSource varchar(100),	
	Descript nvarchar(500),
	Viewed int,
	Contact char(15),
	Lat varchar (50),
	Long varchar (50),
	
	
	constraint PK_BoardingHouse primary key(IdHouse)
)


go
create table Rooms
(
	RoomID int identity(1,1) not null,
	HouseID int not null,
	Name nvarchar(50),
	Descript nvarchar(500),
	Available bit,
	Area int,
	Price int,
	MaxPerson int,
	CurPerson int,
	Internet bit,
	ImageSource varchar(100),
	constraint PK_Rooms primary key(RoomID)	
)

--ALTER TABLE BoardingHouse DROP CONSTRAINT PK_BoardingHouse
--ALTER TABLE BoardingHouse add constraint PK_BoardingHouse primary key(IdHouse)

go


--alter table Post add constraint FK_Post_Users foreign key (Owner) references Users(Username)
alter table BoardingHouse add constraint FK_BoardingHouse_Users foreign key (Owner) references Users(UserId)
alter table City add constraint Unique_CityName unique (Name)
alter table BoardingHouse add constraint FK_BoardingHouse_City foreign key (City) references City(IdCity)
alter table BoardingHouse add constraint FK_BoardingHouse_District foreign key (District) references District(IdDistrict)
alter table District add constraint FK_District_City foreign key (IdCity) references City (IdCity)
--alter table Renting add constraint FK_Renting_BoardingHouse foreign key (House) references BoardingHouse(IdHouse)
--alter table Renting add constraint FK_Renting_Users foreign key (Username) references Users(Username)
alter table Rooms add constraint FK_Rooms_BoardingHouse foreign key (HouseID) references BoardingHouse(IdHouse)
--alter table District add constraint FK_District_City foreign key (IdCity) references City(IdCity)
alter table BoardingHouse add constraint FK_BoardingHouse_Category foreign key (Category) references Category(IdCategory)
alter table Post add constraint FK_Post_Users foreign key (Author) references Users (Username) 




go 

insert into City values (N'Hồ Chí Minh')
insert into City values (N'Hà Nội')

go

insert into District values (1, N'Quận 1')
insert into District values (1, N'Quận 2')
insert into District values (1, N'Quận 3')
insert into District values (1, N'Quận 4')
insert into District values (1, N'Quận 5')
insert into District values (1, N'Quận 6')
insert into District values (1, N'Quận 7')
insert into District values (1, N'Quận 8')
insert into District values (1, N'Quận 9')
insert into District values (1, N'Quận 10')
insert into District values (1, N'Quận 11')
insert into District values (1, N'Quận 12')
insert into District values (1, N'Quận Phú Nhuận')
insert into District values (1, N'Quận Bình Thạnh')
insert into District values (1, N'Quận Tân Bình')
insert into District values (1, N'Quận Gò Vấp')
insert into District values (1, N'Quận Thủ Đức')
insert into District values (1, N'Quận Tân Phú')
insert into District values (1, N'Quận Bình Tân')
insert into District values (1, N'Huyện Bình Chánh')
insert into District values (1, N'Huyện Nhà Bè')
insert into District values (1, N'Huyện Hóc Môn')
insert into District values (1, N'Huyện Củ Chi')
insert into District values (1, N'Huyện Cần Giờ')


go

insert into Users values ('huy','123','h@gmail.com',N'Đặng Xuân Huy',1,'02-28-1994',N'Admin','123','qwe',N'Con vật bạn yêu thích là gì?',N'chó')
insert into Users values ('thien','123','thien@gmail.com',N'Lê Hoàng Thien',1,'02-28-1994',N'Admin','123','qwe',N'Con vật bạn yêu thích là gì?',N'chó')
insert into Users values ('phon','123','phon@gmail.com',N'Vũ Phồn',1,'02-28-1994',N'Admin','123','123',N'Con vật bạn yêu thích là gì?',N'chó')
insert into Users values ('tin','123','tin@gmail.com',N'Nguyễn Lâm Trung Tín',1,'02-28-1994',N'Admin','123','qwe',N'Con vật bạn yêu thích là gì?',N'chó')
insert into Users values ('nhaxinh','123','hoa@gmail.com',N'Nguyễn Ngọc Hoa',0,'01-28-1987',N'Chủ nhà','123','qwe',N'Con vật bạn yêu thích là gì?',N'chó')
insert into Users values ('bedep','123','vi@gmail.com',N'Lê Phương Vi',0,'02-28-1990',N'Khách','123','qwe',N'Con vật bạn yêu thích là gì?',N'chó')
insert into Users values ('xinhxinh','123','khang@gmail.com',N'Đỗ Tường Khang',1,'02-28-1990',N'Khách','123','qwe',N'Con vật bạn yêu thích là gì?',N'chó')

go



insert into Post values ('thien',N'Xác chết trôi sông',N'Hôm qua tại cầu Sài Gòn, người dân phát hiện một xác con mèo chết',N'Hôm qua tại cầu Sài Gòn, người dân phát hiện một xác con mèo chết trôi sông. Theo điều tra ban đầu của sở cảnh sách thì có lẽ do lúc đuổi chuột ven bờ sông Sài Gòn, con mèo chạy quá đá nên đã bay thẳng xuống sông. Hiện cơ quan điều ra đang cố gắng truy tìm con chuột để làm rõ thêm cái chết đau thương này', 'Convatla.jpg' , null, null, N'Xuất bản', 30)
insert into Post values ('thien',N'Lại thêm một xác chết trôi sông',N'Hôm qua tại cầu Đồng Nai, người dân phát hiện một xác con chó chết trôi sông.',N'Hôm qua tại cầu Đồng Nai, người dân phát hiện một xác con chó chết trôi sông. Theo điều tra ban đầu của sở cảnh sách thì có lẽ do lúc đuổi theo một con mèo ven bờ sông Sài Gòn, con chó chạy quá đá nên đã bay thẳng xuống sông. Hiện cơ quan điều ra đang cố gắng truy tìm con mèo trên để làm rõ thêm cái chết đau thương này. Có thể con mèo này chính là con mèo đã chết trôi sông hôm qua', 'Chetduoi.jpg' , null, null, N'Xuất bản', 20)
insert into Post values ('thien',N'Lại thêm một xác chết trôi sông nữa',N'Hôm qua tại cầu Sài Gòn, người dân phát hiện xác một người đàn ông có thân hình lực lưỡng chết trôi sông.', N'Hôm qua tại cầu Sài Gòn, người dân phát hiện xác một người đàn ông có thân hình lực lưỡng chết trôi sông. Theo những người dân ở gần đó chứng kiến thì trong lúc đuổi theo con chó ven bờ sông Sài Gòn, con cho chạy quá đá nên đã bay thẳng xuống sông. Người đàn ông cố gắn nhảy xuống sông cứu con chó nên đã tử vong. Theo kết luận ban đầu của sở cảnh sát thì con chó người đàn ông đã nỗ lực cứu là con chó tìm thấy ngày hôm qua', null , null, null, N'Xuất bản', 25)
insert into Post values ('thien',N'Ngôi nhà uốn éo đánh lừa ảo giác',N'Là một phần của trung tâm thương mại Spot, Ba Lan, ngôi nhà “uốn éo” mang tên Krzywy Domek với trúc kiến trúc độc đáo luôn khiến người qua đường để mắt tới',N'Ngôi nhà rộng 4.000 mét vuông, do kiến trúc sư Szotynscy Zaleski thiết kế và được xây dựng vào năm 2004. Nét độc đáo của ngôi nhà này là tất cả đường nét từ bức tường, mái ngói đến ban công… đều cong. Nhìn từ xa, mọi người sẽ có cảm giác ngôi nhà đang bị biến dạng, hoặc nghĩ rằng ngôi nhà ấy đang đánh lừa đôi mắt của mình. Bên ngoài ngôi nhà “uốn éo” này là những dãy bàn ghế phục vụ cà phê, đồ uống cho khách hàng. Vào ban đêm, ánh đèn vàng, xanh thắp sáng khắp nơi khiến ngôi nhà trở nên lung linh hơn. Krzywy Domek trở thành địa điểm được khách du lịch chọn để chụp ảnh nhiều nhất. Cùng chiêm ngưỡng ngôi nhà độc đáo có một không hai này','ngoinhauoneo.jpg' , null, null, N'Xuất bản', 10)
insert into Post values ('thien',N'Đánh giá HTC One S',N'Ngoài cấu hình phần cứng mạnh mẽ và camera chất lượng tốt, một trong những yếu tố chúng tôi thực sự thích ở HTC One S là hình thức thiết kế đẹp, cầm vừa tay và chắc chắn với vỏ nhôm nguyên khối.',N'HTC One S là smartphone đứng thứ hai trong bộ ba dòng One về thứ hạng, trên HTC One V nhưng sau HTC One X và là sản phẩm ra mắt thị trường muộn nhất trong bộ ba này. Điện thoại này vừa được HTC bán ra thị trường với giá 13 triệu đồng và 14,2 triệu đồng với nếu mua kèm tai nghe urBeats, trong khi giá hàng xách tay hiện rẻ hơn tới 2 triệu đồng, chỉ khoảng 11 triệu đồng. Một thông tin bạn nên biết là điện thoại này có hai phiên bản khác nhau ở bộ vi xử lý. Phiên bản dành cho thị trường Việt Nam và các quốc gia châu Á khác sử dụng chip Snapdragon S3 MSM8260 có bộ vi xử lý lõi kép Scorpion 1.7 GHz. Đây là chip đời cũ hơn so với phiên bản được bán ở thị trường Mỹ và châu Âu sử dụng chip Snapdragon S4 MSM8260A với bộ vi xử lý lõi kép Krait tốc độ 1.5 GHz.','HTC-One-S-1.jpg' , null, null, N'Xuất bản',30)
insert into Post values ('thien',N'Điểm sàn đại học năm nay thấp hơn năm ngoái',N'Điểm sàn đại học năm nay thấp hơn năm ngoái 1 điểm.',N'Điểm sàn đại học năm nay thấp hơn năm ngoái 1 điểm','diemsan.jpg' , null, null, N'Xuất bản',10)
insert into Post values ('thien',N'Bỗng dưng... hôi miệng',N'Hôi miệng không đơn giản là do vệ sinh răng miệng kém, đó còn là dấu hiệu cảnh báo một bệnh lý nhiễm trùng nghiêm trọng trong cơ thể.',N'Chứng hôi miệng, còn được gọi là bệnh hôi miệng. Đây là căn bệnh khá phổ biến của người Việt. Chúng gây ra căng thẳng, lo âu cho cả người bị hôi miệng và cả những người xung quanh. Thông thường, người bị hôi miệng thường không biết vấn đề của mình, và nếu có biết thì cũng chủ quan cho rằng chỉ cần vệ sinh răng miệng tốt là khỏi.','Hoimieng.jpg' , null, null, N'Xuất bản',22)

go

insert into Category values (N'Nhà Trọ')
insert into Category values (N'Ở Ghép')
insert into Category values (N'Phòng Trọ')

go



insert into BoardingHouse values (1,N'Kha Vạn Cân',N'Hiệp Bình Chánh',2,1,2,3,3,'nhatro1.jpg',N'không có nhà cho bạn đâu',2,'3245325',null,null)
insert into BoardingHouse values (2,N'Kha Vạn Cân',N'Hiệp Bình Chánh',2,1,2,3,0,'nhatro1.jpg',N'Nhà đẹp đi',2,'0632',null,null)
insert into BoardingHouse values (3,N'Kha Vạn Cân',N'Hiệp Bình Chánh',2,1,2,3,2,'nhatro1.jpg',N'Có rất là nhiều phòng',2,'546',null,null)
insert into BoardingHouse values (4,N'Kha Vạn Cân',N'Hiệp Bình Chánh',2,1,2,3,1,'nhatro1.jpg',N'Các phòng vừa sửa chửa còn rất mới',2,'879',null,null)
insert into BoardingHouse values (5,N'Kha Vạn Cân',N'Hiệp Bình Chánh',2,1,2,3,0,'nhatro1.jpg',N'Phòng rộng giá rẻ',2,'987',null,null)
insert into BoardingHouse values (6,N'Kha Vạn Cân',N'Hiệp Bình Chánh',2,1,2,3,3,'nhatro1.jpg',N'Nhà đẹp giá rẻ',2,'123',null,null)


go

insert into Rooms values (2,N'Phòng 3',N'phòng trong tình trạng rất tốt',1,20,2000000,1000,999,0,null)
insert into Rooms values (2,N'Phòng 5',N'phòng trong tình trạng rất tốt',0,20,2000000,1000,999,0,null)

go

CREATE PROCEDURE proUpdateUsers
(
@UserID int,
@strEmail varchar (50), 
@strFullname nvarchar (50),
@intGender bit, 
@dtBirthday datetime,
@strMemberType nvarchar (10),
@strPhoneNo char (12),
@strAddress nvarchar (100)
) 
AS 
UPDATE Users SET Email = @strEmail, Fullname = @strFullname, Gender = @intGender, Birthday = @dtBirthday, Membertype = @strMemberType, PhoneNo= @strPhoneNo, Address = @strAddress
where UserId = @UserID



create PROCEDURE  proInsertUsers
(
@strUserName varchar (20),
@strPass varchar (20),
@strEmail varchar (50), 
@strFullname nvarchar (100),
@intGender bit, 
@dtBirthday datetime,
@strMemberType nvarchar (15),
@strPhoneNo char (12),
@strAddress nvarchar (100),
@strQuestion nvarchar (100),
@strAnswer nvarchar (50)
) 
AS 
insert into Users (Username, Pass, Email, Fullname, Gender, Birthday, Membertype, PhoneNo, Address, RandomQuestion, Answer) values (@strUserName, @strPass, @strEmail, @strFullname, @intGender, @dtBirthday, @strMemberType, @strPhoneNo, @strAddress, @strQuestion, @strAnswer)

